package com.zw.a.basic.a12.demo03_outputstream;

import java.io.FileOutputStream;
import java.io.IOException;

//案例: 通过try.catch.finally语句解决IO流的异常问题.
public class Demo03 {
    public static void main(String[] args) {
        //1.创建FileOutputStream对象, 关联指定的目的地文件.
        FileOutputStream fos = null;
        try{
            System.out.println(1/0);
            //可能会出现问题的代码
            fos = new FileOutputStream("day12/data/2.txt");
            //2.往文件中写入10次hello, 每个hello占一行.
            for (int i = 0; i < 10; i++) {
                fos.write("hello".getBytes());
                //换行符
                fos.write("\r\n".getBytes());
            }
        }catch(Exception e) {
            //出现问题的异常处理代码.
            e.printStackTrace();
        }finally{
            //3. 关闭流, 释放资源
            try {
                if (fos != null) {
                    fos.close();   //快捷键: alt + enter
                    fos = null;    //GC会优先回收null对象.
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
